home *** CD-ROM | disk | FTP | other *** search
/ Revista CD Expert 8 / Revista CD Expert nº 08 CD1.iso / Utilitarios / Programacao / Pacific C for DOS / INCLUDE / FLOAT.H < prev    next >
Text File  |  1995-03-08  |  3KB  |  91 lines

  1. /*    Characteristics of floating types */
  2.  
  3. #define    DBL_RADIX    2        /* radix of exponent for a double */
  4. #define    DBL_ROUNDS    0        /* doubles don't round when converted to int */
  5. #define    FLT_RADIX    2        /* radix of float exponent */
  6. #define    FLT_ROUNDS    0        /* float also truncates to int */
  7.  
  8. #if    defined(i8096) || defined(m6800) || defined(m6809) || defined(i8051) || defined(h8300) || defined(m6805) || defined(__psxa)
  9. #define    FLT_MANT_DIG    24
  10. #define    FLT_EPSILON    1.19209290e-07
  11. #define    FLT_DIG        6
  12. #define    FLT_MIN_EXP    -125
  13. #define    FLT_MIN        1.17549435e-38
  14. #define    FLT_MIN_10_EXP    -37
  15. #define    FLT_MAX_EXP    128
  16. #define FLT_MAX         3.40282347e+38
  17. #define    FLT_MAX_10_EXP    38
  18. #define    FLT_MANT_DIG    24        /* 24 bits in mantissa */
  19. #define    DBL_MANT_DIG    24
  20. #define    DBL_EPSILON    1.19209290e-07
  21. #define    DBL_DIG        6
  22. #define    DBL_MIN_EXP    -125
  23. #define    DBL_MIN        1.17549435e-38
  24. #define    DBL_MIN_10_EXP    -37
  25. #define    DBL_MAX_EXP    128
  26. #define DBL_MAX         3.40282347e+38
  27. #define    DBL_MAX_10_EXP    38
  28. #define    DBL_MANT_DIG    24        /* 24 bits in mantissa */
  29. #endif
  30.  
  31.  
  32. #if    defined(z80)
  33. #define    FLT_MANT_DIG    24        /* 24 bits in mantissa */
  34. #define    DBL_MANT_DIG    24        /* ditto for double */
  35. #define    DBL_MANT_DIG    24        /* ditto long double */
  36. #define    FLT_EPSILON    1.19209290e-07    /* smallest x, x+1.0 != 1.0 */
  37. #define    DBL_EPSILON    1.19209290e-07    /* smallest x, x+1.0 != 1.0 */
  38. #define    FLT_DIG        6        /* decimal significant digs */
  39. #define    DBL_DIG        6
  40. #define    FLT_MIN_EXP    -63        /* min binary exponent */
  41. #define    DBL_MIN_EXP    -63
  42. #define    FLT_MIN        1.0842021e-19    /* smallest floating number */
  43. #define    DBL_MIN        1.0842021e-19
  44. #define    FLT_MIN_10_EXP    -19
  45. #define    DBL_MIN_10_EXP    -19
  46. #define    FLT_MAX_EXP    63        /* max binary exponent */
  47. #define    DBL_MAX_EXP    63
  48. #define    FLT_MAX        9.223369e18    /* max floating number */
  49. #define    DBL_MAX        9.223369e18
  50. #define    FLT_MAX_10_EXP    18        /* max decimal exponent */
  51. #define    DBL_MAX_10_EXP    18
  52. #endif    z80
  53.  
  54. #if    i8086 || m68k
  55.  
  56. /*    The 8086 and 68000 use IEEE 32 and 64 bit floats */
  57.  
  58. #define    FLT_MANT_DIG    24
  59. #define    FLT_EPSILON    1.192092896e-07
  60. #define    FLT_DIG        6
  61. #define    FLT_MIN_EXP    -125
  62. #define    FLT_MIN        1.175494351e-38
  63. #define    FLT_MIN_10_EXP    -37
  64. #define    FLT_MAX_EXP    128
  65. #define    FLT_MAX        3.402823466+38
  66. #define    FLT_MAX_10_EXP    38
  67. #define    DBL_MANT_DIG    53
  68. #define    DBL_EPSILON    2.220446049250313e-16
  69. #define    DBL_DIG        15
  70. #define    DBL_MIN_EXP    -1021
  71. #define    DBL_MIN        2.225073858507202e-308
  72. #define    DBL_MIN_10_EXP    -307
  73. #define    DBL_MAX_EXP    1024
  74. #define    DBL_MAX        1.797693134862315e+308
  75. #define    DBL_MAX_10_EXP    308
  76. #endif    i8086 || m68k
  77.  
  78.  
  79. /*    long double equates to double */
  80.  
  81.  
  82. #define    LDBL_MANT_DIG    DBL_MANT_DIG
  83. #define    LDBL_EPSILON    DBL_EPSILON
  84. #define    LDBL_DIG    DBL_DIG
  85. #define    LDBL_MIN_EXP    DBL_MIN_EXP
  86. #define    LDBL_MIN    DBL_MIN
  87. #define    LDBL_MIN_10_EXP    DBL_MIN_10_EXP
  88. #define    LDBL_MAX_EXP    DBL_MAX_EXP
  89. #define    LDBL_MAX    DBL_MAX
  90. #define    LDBL_MAX_10_EXP    DBL_MAX_10_EXP
  91.